<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 0.正则表达式不需要加引号 无论是数字还是字符
        var rg1 = /abc/ //只要有abc这个字符串返回的都是true
        console.log(rg1.test('abcd'));//true
        console.log(rg1.test('abcde'));//true
        console.log('----------');

        // 1.要求行首具有表达式内容
        var rg2 = /^abc/
        console.log(rg2.test('abcd'));//true
        console.log(rg2.test('aabcd'));//false
        console.log('----------');

        // 2.要求行尾具有表达式内容   
        var rg3 = /abc$/
        console.log(rg3.test('abcd'));//false
        console.log(rg3.test('aabc'));//true
        console.log('----------');

        // 3.^和$搭配实现精确匹配，要求必须是指定的字符串
        var rg4 = /^abc$/
        console.log(rg4.test('abcd'));//false
        console.log(rg4.test('abcabc'));//false
        console.log(rg4.test('abc'));//true
        console.log('----------');

        // 4.字符类[]
        var rg5 = /[abc]/ //只要包含a或者b或者c任意字母即可
        console.log(rg5.test('a'));//true
        console.log(rg5.test('ab'));//true
        console.log(rg5.test(5));//false
        var rg6 = /^[abc]$/ // 只能三选一,即只能匹配a,b,c，即使是aa也是错的
        console.log(rg6.test('ab'));//false
        console.log('----------');

        // 5.范围符-
        var rg7 = /^[a-z]$/ //只能输出26个字母任意一个
        console.log(rg7.test(5));//false
        console.log(rg7.test('a'));//true
        console.log(rg7.test('abc'));//false
        console.log('----------');

        var rg8 = /[a-zA-Z0-9]/ //可以输出大小写字母和数字任意字符
        console.log(rg8.test(8));//true
        console.log(rg8.test('a'));//true
        console.log(rg8.test('aA5'));//true
        console.log('----------');

        // 6.取反^
        var rg9 = /^[^a-z]$/ //可以输出除了小写字母以外的任意字符
        console.log(rg9.test(1));//true
        console.log(rg9.test('A'));//true
        console.log(rg9.test('a'));//false
    </script>
</body>
</html>